Skip to content

Conversation

@zetxqx
Copy link
Contributor

@zetxqx zetxqx commented Nov 13, 2025

What type of PR is this?

/kind test
/area conformance-machinery
/area conformance-test

What this PR does / why we need it:

This PR introduces the necessary components within the Endpoint Picker (EPP) to support a new conformance test that
verifies gateway compliance with the x-gateway-destination-endpoint-served metadata requirement.

Exposes the "x-conformance-test-served-endpoint"

following is an example

❯ curl -i http://${IP}/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "'"${MODEL_NAME}"'",
    "messages": [
      {
        "role": "user",
        "content": "hi"
      }
    ]
  }'
HTTP/1.1 200 OK
x-went-into-resp-headers: true
date: Thu, 13 Nov 2025 07:24:41 GMT
server: uvicorn
x-conformance-test-served-endpoint: 10.116.3.5:8000
content-type: application/json
via: 1.1 google
transfer-encoding: chunked

{"choices":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":null,"audio":null,"content":"\u003cthink\u003e\nOkay, the user said \"hi\". I need to respond appropriately. Let me think. A simple \"Hello!\" is a good start. But maybe they want a more personal message. I should check if they have any specific request in mind. If not, a general greeting is best. I should make sure the response is friendly and open to further conversation. Let me put that into a natural reply.\n\u003c/think\u003e\n\nHello! How can I assist you today? 😊","function_call":null,"reasoning_content":null,"refusal":null,"role":"assistant","tool_calls":[]},"stop_reason":null,"token_ids":null}],"created":1763018681,"id":"chatcmpl-0535f422-84f2-479c-93d5-ca6129e657bb","kv_transfer_params":null,"model":"Qwen/Qwen3-0.6B","object":"chat.completion","prompt_logprobs":null,"prompt_token_ids":null,"service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":97,"prompt_tokens":9,"prompt_tokens_details":null,"total_tokens":106}}% 

Which issue(s) this PR fixes:

Fixes partially #1670

Does this PR introduce a user-facing change?:

A new plugin `destination-endpoint-served-verifier` for conformance tests can be adopted

@k8s-ci-robot
Copy link
Contributor

@zetxqx: The label(s) area/conformance-machinery cannot be applied, because the repository doesn't have them.

In response to this:

…nt served metadata.

What type of PR is this?

/area conformance-machinery

What this PR does / why we need it:

This PR introduces the necessary components within the Endpoint Picker (EPP) to support a new conformance test that
verifies gateway compliance with the x-gateway-destination-endpoint-served metadata requirement.

Exposes the "x-conformance-test-served-endpoint"

following is an example

❯ curl -i http://${IP}/v1/chat/completions \
 -H "Content-Type: application/json" \
 -d '{
   "model": "'"${MODEL_NAME}"'",
   "messages": [
     {
       "role": "user",
       "content": "hi"
     }
   ]
 }'
HTTP/1.1 200 OK
x-went-into-resp-headers: true
date: Thu, 13 Nov 2025 07:24:41 GMT
server: uvicorn
x-conformance-test-served-endpoint: 10.116.3.5:8000
content-type: application/json
via: 1.1 google
transfer-encoding: chunked

{"choices":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":null,"audio":null,"content":"\u003cthink\u003e\nOkay, the user said \"hi\". I need to respond appropriately. Let me think. A simple \"Hello!\" is a good start. But maybe they want a more personal message. I should check if they have any specific request in mind. If not, a general greeting is best. I should make sure the response is friendly and open to further conversation. Let me put that into a natural reply.\n\u003c/think\u003e\n\nHello! How can I assist you today? 😊","function_call":null,"reasoning_content":null,"refusal":null,"role":"assistant","tool_calls":[]},"stop_reason":null,"token_ids":null}],"created":1763018681,"id":"chatcmpl-0535f422-84f2-479c-93d5-ca6129e657bb","kv_transfer_params":null,"model":"Qwen/Qwen3-0.6B","object":"chat.completion","prompt_logprobs":null,"prompt_token_ids":null,"service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":97,"prompt_tokens":9,"prompt_tokens_details":null,"total_tokens":106}}% 

Which issue(s) this PR fixes:

Fixes partially #1670

Does this PR introduce a user-facing change?:


Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 13, 2025
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Nov 13, 2025
@netlify
Copy link

netlify bot commented Nov 13, 2025

Deploy Preview for gateway-api-inference-extension ready!

Name Link
🔨 Latest commit 0e4a99d
🔍 Latest deploy log https://app.netlify.com/projects/gateway-api-inference-extension/deploys/691633bc592620000888622c
😎 Deploy Preview https://deploy-preview-1855--gateway-api-inference-extension.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Nov 13, 2025
@zetxqx zetxqx force-pushed the gaieconf branch 2 times, most recently from 875360c to 3d488f7 Compare November 13, 2025 18:49
@zetxqx zetxqx changed the title (WIP) feat(conformance): add plugin to support verifying destination endpoi… feat(conformance): add responseReceived plugin to support verifying destination endpoint. Nov 13, 2025
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 13, 2025
@zetxqx
Copy link
Contributor Author

zetxqx commented Nov 13, 2025

/cc @nirrozenbaum @danehans @robscott

this is pre PR for adding the endpoint-served conformance test: #1862

@nirrozenbaum
Copy link
Contributor

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 19, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: nirrozenbaum, zetxqx

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 19, 2025
@k8s-ci-robot k8s-ci-robot merged commit bef80ca into kubernetes-sigs:main Nov 19, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants